<ul>
<li>
umiejscowienie katalogu META-INF z plikiem persistence.xml - jak byl w katalogu 
	WEB-INF to nie mogl go znalezc, musi? ladowac w classes
</li><li>
<hr/>
zla domyslna zaleznosc mavena od starej wersji xercesa powodowala stac overflow
	przy parsowaniu pliku persistence.xml
<hr/>	
</li><li>
java -jar /opt/derby/lib/derbyrun.jar server start
</li>
ledit java -jar /opt/derby/lib/derbyrun.jar ij
<li></li>
CONNECT 'jdbc:derby://localhost:1527/seconddb;create=true'
<li></li>
CONNECT 'jdbc:derby:seconddb';
<li></li>
<hr/>

<li></li>
dla hsqldb dziala tylko dla<br/>
@Id<br>
    @GeneratedValue(strategy=GenerationType.SEQUENCE) // TABLE tez dziala<br>
    private int id;<br>
dla derby dzialalo domyslne<br/>
a nie dziala sequence<br/>

table not found: hibernate_sequence<br>
13:50:04,087 DEBUG SchemaUpdate:149 - create sequence hibernate_sequence<br>
13:50:04,139 ERROR SchemaUpdate:155 - Unsuccessful: create sequence hibernate_sequence<br>
13:50:04,143 ERROR SchemaUpdate:156 - Błąd składniowy: Encountered "sequence" at line 1, column 8.<br>
13:50:04,144  INFO SchemaUpdate:160 - schema update complete<br>
<li></li>
w derby nie tworzy sie unique constraint - w hsqldb jest ok<br>
<li></li>
w springu i jpa trzeba dac &lt;property name="generateDdl" value="false" /&gt; <br>
wtedy uwzglednia  &lt;property name="hibernate.hbm2ddl.auto" value="create-drop" /&gt;<br>
<hr>
<li></li>
obsluga bledow w web.xml - moga byc tylko strony html, nie jsp, przynajminiej 
do error-code, dla bledow chyba moze byc jsp <br>
qrwa <br>
This is a bug that has been fixed in 2.5.6. See http://jira.springframework.org/browse/SPR-4973.
http://forum.springframework.org/showthread.php?p=193361<br>
<hr>
<li></li>
mvn  test -Dtest=AllTests<br>
mvn  package -Dmaven.test.skip=true; cp target/books.war /home/jakub//tomcat/webapps/ <br>
<li></li>
uzywam displaytag'a
<li></li>

powinno byc 1.2 maven podpowiedzial 1.1.x - przez to sie nie wyswietlal widok
<code>
<dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>
</code>
*displaytag - nie da sie 1.1- problem z jstlem i wersjami zaleznoci
<li></li>
*dodaje sitemesha
<li></li>
javascirpt, cssy, footer, nawigacja na lewo i prawo stopka naglowek
<li></li>
case: na lapku jest wszysko ok<br>
na stacjonarnym nie dzialaja mi testy zarowno spod eclipsa jak i z linii komend mavena.
spowodowane jest to tym ze klas anotowalnych szuka tylko target/test-classes, a one sa
w target/classes, jak skopiowalem skopilowane z classes do target classes to dla mvn bylo ok - 
znalaz je i utworzyl tabelki, dla eclipsa nadal nie jest ok - unknown entity
qrwa - przyczyna byl stary maven - 2.0.8 po przesiadce na 2.0.9 jest; ok. zajelo 4h.<br>
pod eklipsem nadal nie dziala, a "w domu dzialalo" :)<br>
teraz tak namieszalem ze maven bierze persistence.xml z prod a nie testow<br>
<li></li>
java -jar lukeall.jar
<li></li>
pola untokenized sa case sensitive, a tokenized w wiekszosci/standardowo
sa case insensitive bo wiekszos analizatorow ma caseInsensitiveFilter
zobacz testLuceneBookByTitle.testLuceneBookByTitle
<li></li>
jest range_query po ranku,jest paginacja, sortowanie, sortuje sie tylko po untokenized, wiec zrobilem
2 pola na description i title jedno tokenized drugie untokenized - po to
aby mozna bylo wygodnie wyszukiwac ale tez sortowac po nich, nie bawilem sie filtrami.
<li></li>
Dodaje springowa obsluge formularzy ze springowa walidacja, dodaje bledy do poszczegolnych pol i do calego formularza.
<li></li>
za pomoca prototype.js sa zmieniane themy springowe - wysylane requesty a potem przeladowywana strona - jako odp. js
Ajax.updater - listing z ksiazkami danego autora
<li></li>
Sa jakies springowe filtry do autentykacji.
<li></li>
testy performance<br>
wstawienie 1000 book do bazy przez hib z lucene
i przez hib bez lucene<br>
<li></li>
wyszukiwanie fulltextowe przez lucena i bez lucena
<li></li>
lucene zamula gdy pasuje wiele dokumentow - wtedy buduje where 
id in (?, ?, ?....)or id in (?, ?, ...) i to wychodzi wolniej niz zwykly where like '%xxx%' 
ale z kolei nie wiadomo jak by dzialal like '%xxx%' na duzych dokumentach, 
wiele takich warunkow, testowalem na hsqldb, a to chyba trzyma calosc w pamieci, moze dla danych duzych rozmiarow jednak lucene bylo by szybsze.
<li></li>
aby wystartowac nalezy mkdir -p /tmp/lucene/indexes<br>
po czym zapuscic jakies testy w celu utworzenia przykladowych danych<br>
mvn test -Dtest=SearchServiceTest   <br>
mvn test -Dtest=PerformanceTest         <br>  
mvn  package -Dmaven.test.skip=true; cp target/books.war /home/jakub/tomcat/webapps/ <br>
<li></li>

dodac raporty o liczbie autorow z 0,1,2.....x ksizakami, <br>
wypisani autorzy z 0,1,2,...x ksiazkami
<li></li>
w ThemeManagerController.changeTheme request i response same sie magicznie<
wstrzykuja do metody
<li></li>
wydaje mi sie ze blady w bazie danych (naruszenie constrainta)
zawsze powoduja rollback - Transaction marked as rollbackOnly
tzn probuje sie scommitowac trans, ktora jest roobackonly
<li></li>
jezeli mamy @Transactional a() i @Transactional b()
to powoduje to ze b wykonuje sie w kontekscie trans z a() a nie swoim
<li></li>
dorabiam printable version (w htmlu za pomoca sitemesha), 
+ plus wywolanie drukarki,
<li></li>
dorabiam raporty, pdfy, obrazki
<li></li>
problemy z polaczeniem cxf z hibernate - asm.jar <br>
hibernate uzywa 1.5, a cxf 2.2 - rozwiazanie w pom.xml <br>
maven nie mogl odpalic cxf - dodalem jary z dystrybucji cxf do liba <br>
wiecej szczegolow jest w gmailu "cxf hibernate asm"
	<li></li>
odpalam testy z podmienionym dao i search serwisem na webserwisowy
<li></li>
w cxf nie daje sie dziedziczyc interfejsu - metody musza byc zadeklarowane w 
interfejsie ktory ta klasa realizuje, a nie moga byc w interfejsach, ktory ten
interfejs rozszerza
<li></li>
serwis nie ma ustawionych przez springa obiaktow dao (nie dziala injection)
<li></li>
wyglada na to ze jaxws/jaxb nie potrafi obsluzyc cykli (w serializacji do xmla)
<li></li>
cxf pusta tablice/liste przesyla jako null
<li></li>
teraz mam 2 applicationContexty - jeden w serwlecie, a drugi w cxf
<li></li>
captcha przy logowaniu i przy 3 kliknieciach w link, lub 6 w ajaxa 
(klik w link liczy sie za 2, w ajaxa za 1) strona sprawdzajaca czy nie jest 
botem, i jak potwierdzi - to przekierowujaca na docelowa strone - 
trzeba zapamietac calego requesta, lacznie z parametrami posta 
<li>
<hr>
<li>
	<em>dodaje groovyshella<br></em>
	caly groovyshell to 1 watek serwera nasluchujacy na sokecie i przyjmujacy 
	polaczenia, na kazde nowe polaczenie jest tworzony nowy watek lub brany z puli
	2 opcje:<br>
	nowy watek na kazde polaczenie<br>
	pula watkow<br>
	jak obslugiwac pule - trzeba zwracac, uzeyje apache poolable costam<br>
	tworze swoja klase bedaca watkiem dostajaca
</li>
<li>
	jak w springu stowrzyc watek dzialajacy w tle - watek konsoli - zobacz, jakos zrobilem<br>
	aby sie undeployowal ustawiam demonized na false + w web.xml dodalem wlasnego litenera pl.common.ContexListener:<br>
	public void contextDestroyed(ServletContextEvent sce) {<br>
		log.debug("contextDestroyed");<br>
		try {<br>
			Enumeration e = sce.getServletContext().getAttributeNames();<br>
			WebApplicationContext wac = WebApplicationContextUtils<br>
					.getRequiredWebApplicationContext(sce.getServletContext());<br>

			log.debug("wac: " + wac);<br>
			((Console) wac.getBean("console")).stop();<br>
		} catch (BeansException e) {<br>
		<br>
</li>
<li>
	dziala chyba tylko to powyzsze, DisposableBean chyba nie dziala, 
	i destroy-method tez nie dziala, chyba ze nie dzialaja dlatego ze zadzialalo to powyzsze? ale raczej nie
</li>
<li>
	aaaaa, zadzialala zarown destroy-method i DisposableBean - ale gdy jedynie
	wgralem do webbaps nowego wara, wczesniej najpierw robilem rm books* (app i war) - 
	i tu spring nie lapal (bo i metoda i interfejs sa springowe), teraz zalapal
</li>
<li>
	w springu skonfigurowalem pule i fabryke obiektow ( apache commons )<br>
	mailem problem z ustawieniem propertisa na stala klasowa, tu jest rozw:
	<a href="http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&f=83&t=001855">javaranch</a>
</li>

<li>
przy logowaniu log4j podczas undeploya leci taki blad

log4j:ERROR Error occured while converting date.
java.lang.NullPointerException
        at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:485)
        at java.lang.StringBuffer.append(StringBuffer.java:301)
        at org.apache.log4j.helpers.AbsoluteTimeDateFormat.format(AbsoluteTimeDateFormat.java:122)
        at java.text.DateFormat.format(DateFormat.java:316)
        at org.apache.log4j.helpers.PatternParser$DatePatternConverter.convert(PatternParser.java:444)
        at org.apache.log4j.helpers.PatternConverter.format(PatternConverter.java:64)
        at org.apache.log4j.PatternLayout.format(PatternLayout.java:503)
        at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:301)
        at org.apache.log4j.WriterAppender.append(WriterAppender.java:159)
        at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:230)
        at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:65)
        at org.apache.log4j.Category.callAppenders(Category.java:203)
        at org.apache.log4j.Category.forcedLog(Category.java:388)
        at org.apache.log4j.Category.log(Category.java:853)
        at org.apache.commons.logging.impl.Log4JLogger.info(Log4JLogger.java:133)
        at pl.common.console.Console.run(Console.java:116)
        at java.lang.Thread.run(Thread.java:619)

</li>

<li>
	spring - klasa wewnetrzna:
	class="pl.common.console.Console$BasePoolableShellFactory"/>
</li>

<li>
	daje sie zrobic 3 polaczenia, 4 juz nie, jak sie zamknie 3, to 1 i tak pozostaje w puli, 2 sa usuwane
	jak po zamknieciu na innej konsoli wpisze sie System.gc(), to odpala metode finalize()
</li>

<li>
	jakub@gibbon:~/workspace/books2/src/main/webapp$ telnet localhost 6666<br>
Trying 127.0.0.1... <br>
Connected to localhost.<br>
Escape character is '^]'.<br>
Shell v 1.0<br>
# bookDao.findWithAuthor(3);<br>
Book id 3 v. 0 title: Jesien koniec kominek winogrono kolor jezioro brzuch rank: 99 Author id 1 v. 0 Melania Szymanski tags: thriller horror tragedia poezja  description: Wiadro palce fotel kolor jesien doniczka zloto wiewiorka doniczka biodro laktoza upadek komputer len zloto drzewo zoltko obiad kolacja upadek winogrono rama reka komputer<br>
#                               <br>
<em>ciekawostka:</em>
<pre>
to nie dziala:
# bookDao.find(2);
blad: could not initialize proxy - no Session
prawdopodobna przyczyna:
   chcial wypisywac autora, a tego sie nie dalo bez sesji, 
    zgadza sie, to juz dziala:
  map.bookDao.find(2).title;
</pre>
</li>
<li>
	tag do formatowania spacji tabow i konca linii, ale nie tagow: &lt pre&gt dowolny kod &lt/pre&gt
</li>
<li>
 blad javascripta w oracle apex przy uploadzie i tworzeniu skryptu!!!<br>
 i w innych miejscach tez leca bledy js!!
</li>
</ul>